package com.mt.api.modules.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mt.api.modules.domain.AppStock;
import com.mt.api.modules.domain.bo.StockCargoPageBo;
import com.mt.api.modules.domain.dto.StockStatQtyByCargoDto;
import com.mt.api.modules.domain.dto.StockWithPrice;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: plover
 * @Date: 2020/07/07/4:37 下午
 * @Description:
 */
public interface AppStockMapper extends BaseMapper<AppStock> {

    int subtractQtyBySkuId(@Param("skuId") Integer skuId, @Param("qty") Integer qty);

    int plusQtyAndTotalQty(@Param("id") Integer id, @Param("qty") Integer qty);

    int plusQtyBySkuId(@Param("skuId") Integer skuId, @Param("qty") Integer qty);

    int subtractQtyAndTotalQty(@Param("id") Integer id, @Param("qty") Integer qty);

    List<StockWithPrice> queryStockWithPrice();

    List<StockStatQtyByCargoDto> statQtyByCargo(@Param("cargoIdList") List<Integer> cargoIdList);

    Page<StockStatQtyByCargoDto> getPageGroupByCargo(Page page, @Param("param") StockCargoPageBo bo);
}
